import request from '@/config/axios'

// 主报价配置 VO
export interface VO {
  // 编号，主键自增
  id: number
  // 报价名称
  name: string
  // 报价状态
  status: number
  // 生效时间
  startTime: Date
  // 失效时间
  endTime: Date
}

// 商品报价配置 VO
export interface ProductVO {
  // 编号，主键自增
  id: number
  // 报价配置ID
  quotationId: number
  // 商品ID
  productId: number
  // 商品名称
  productName: string
  // 商品报价
  productPrice: number
  // 单个商品重量
  productWeight: number
  // 单个商品单位
  productUnit: number
  // 按照斤度换算个数
  jinCount: number
  // 单斤原材料价格
  rawMaterialPrice: number
  // 单斤加工费
  processPrice: number
  // 出成率
  useRatio: number
  // 运输费用占比
  transportRatio: number
  // 斤价格
  jinPrice: number
}


// 合作机构配置 VO
export interface OrganizationVO {
  // 编号，主键自增
  id: number
  // 机构配置ID
  organizationId: number
  // 报价配置ID
  quotationId: number
  // 机构配置名称
  organizationName: string
}



// 主报价配置 API
export const Api = {
  // 查询主报价配置分页
  getPage: async (params: any) => {
    return await request.get({ url: `/quotation/quotation/page`, params })
  },

  // 查询主报价配置详情
  get: async (id: number) => {
    return await request.get({ url: `/quotation/quotation/get?id=` + id })
  },

  // 新增主报价配置
  create: async (data: VO) => {
    return await request.post({ url: `/quotation/quotation/create`, data })
  },

  // 修改主报价配置
  update: async (data: VO) => {
    return await request.put({ url: `/quotation/quotation/update`, data })
  },

  // 删除主报价配置
  delete: async (id: number) => {
    return await request.delete({ url: `/quotation/quotation/delete?id=` + id })
  },

  // 导出主报价配置 Excel
  export: async (params) => {
    return await request.download({ url: `/quotation/quotation/export-excel`, params })
  },

// ==================== 子表（商品报价） ====================

  // 获得商品报价列表
  getProductListByQuotationId: async (quotationId) => {
    return await request.get({ url: `/quotation/quotation/product/list-by-quotation-id?quotationId=` + quotationId })
  },

  // 分页查询商品报价
  getProductPage: async (params: any) => {
    return await request.get({ url: `/quotation/quotation/product/page`, params })
  },

  //导出商品报价
  exportProduct: async (params: any) => {
    return await request.download({ url: `/quotation/quotation/product/export-excel`, params })
  },


  // ==================== 子表（机构报价） ====================
  
    // 分页查询商品报价
  getOrganizationPage: async (params: any) => {
    return await request.get({ url: `/quotation/quotation/organization/page`, params })
  },

  // 获得机构报价列表
  getOrganizationListByQuotationId: async (quotationId) => {
    return await request.get({ url: `/quotation/quotation/organization/list-by-quotation-id?quotationId=` + quotationId })
  }
}